import request from '@/utils/request'

/**
 * 查询销售计划列表
 * @param {Object} query 查询参数
 * @returns {Promise} 请求的Promise对象
 */
export function listSalesPlan(query) {
  return request({
    url: '/mes/sale/plan/list', // 请求的URL
    method: 'get', // 请求方法为GET
    params: query // 请求参数
  })
}

/**
 * 新增销售计划
 * @param {Object} data 新增销售计划的数据
 * @returns {Promise} 请求的Promise对象
 */
export function addSalesPlan(data) {
  return request({
    url: '/mes/sale/plan', // 请求的URL
    method: 'post', // 请求方法为POST
    data // 请求的数据
  })
}

/**
 * 编辑销售计划
 * @param {Object} data 编辑销售计划的数据
 * @returns {Promise} 请求的Promise对象
 */
export function editSalesPlan(data) {
  return request({
    url: '/mes/sale/plan', // 请求的URL
    method: 'put', // 请求方法为PUT
    data // 请求的数据
  })
}

/**
 * 删除销售计划
 * @param {string|number} ids 要删除的销售计划的ID
 * @returns {Promise} 请求的Promise对象
 */
export function delSalesPlan(ids) {
  return request({
    url: '/mes/sale/plan/' + ids, // 请求的URL，包含要删除的ID
    method: 'delete', // 请求方法为DELETE
  })
}

/**
 * 批量导入销售计划
 * @param {Object} data 要导入的销售计划数据
 * @returns {Promise} 请求的Promise对象
 */
export function importSalesPlan(data) {
  return request({
    url: '/mes/sale/plan/importData', // 请求的URL
    method: 'post', // 请求方法为POST
    data // 请求的数据
  })
}

/**
 * 查询车型列表
 * @param {Object} params 查询参数
 * @returns {Promise} 请求的Promise对象
 */
export function getListProduct(params) {
  return request({
    url: '/mes/md/itemtype/listProduct', // 请求的URL
    method: 'get', // 请求方法为GET
    params // 请求参数
  })
}

// --------------------------详情--------------------------

/**
 * 查询销售计划详情列表
 * @param {Object} query 查询参数，需包含salePlanId
 * @returns {Promise} 请求的Promise对象
 */
export function listSalesPlanDetail(query) {
  return request({
    url: '/mes/sale/planLine/list/' + query.salePlanId, // 请求的URL，包含销售计划ID
    method: 'get', // 请求方法为GET
    params: query // 请求参数
  })
}

/**
 * 新增销售计划详情
 * @param {Object} data 新增销售计划详情的数据
 * @returns {Promise} 请求的Promise对象
 */
export function addSalesPlanDetail(data) {
  return request({
    url: '/mes/sale/planLine', // 请求的URL
    method: 'post', // 请求方法为POST
    data // 请求的数据
  })
}

/**
 * 编辑销售计划详情
 * @param {Object} data 编辑销售计划详情的数据
 * @returns {Promise} 请求的Promise对象
 */
export function editSalesPlanDetail(data) {
  return request({
    url: '/mes/sale/planLine', // 请求的URL
    method: 'put', // 请求方法为PUT
    // 要编辑的销售计划详情的数据
    data
  })
}

/**
 * 删除销售计划详情
 * @param {string|number} ids 要删除的销售计划详情的ID
 * @returns {Promise} 请求的Promise对象
 */
export function delSalesPlanDetail(ids) {
  return request({
    url: '/mes/sale/planLine/' + ids, // 请求的URL，包含要删除的ID
    method: 'delete', // 请求方法为DELETE
  })
}


// --------------------------table 表头配置--------------------------

export function getProductConf(params) {
  return request({
    url: '/mes/sale/productConf/list', 
    method: 'get', 
    params
  })
}

export function addProductConf(data) {
  return request({
    url: '/mes/sale/productConf', 
    method: 'post', 
    data
  })
}

export function editProductConf(data) {
  return request({
    url: '/mes/sale/productConf', 
    method: 'put', 
    data
  })
}

export function delProductConf(ids) {
  return request({
    url: '/mes/sale/productConf/' + ids, 
    method: 'delete', 
  })
}